Skip to content

fix: keep debugjava executable on POSIX - #1663

Draft
Pybsama wants to merge 1 commit into
microsoft:mainfrom
Pybsama:codex/fix-debugjava-posix-packaging
Draft

fix: keep debugjava executable on POSIX#1663
Pybsama wants to merge 1 commit into
microsoft:mainfrom
Pybsama:codex/fix-debugjava-posix-packaging

Conversation

@Pybsama

@Pybsama Pybsama commented Jul 31, 2026

Copy link
Copy Markdown

Summary

  • force the POSIX debugjava wrapper to remain LF on Windows checkouts
  • store the wrapper with an executable Git mode for POSIX-built packages
  • repair a missing owner-execute bit when the extension activates on POSIX,
    preserving all other ordinary and special Unix permission bits
  • cover LF, packaged mode, permission preservation, idempotence, and the
    Windows no-op path

Why

The official VSIX is built on Windows. Version 0.59.0 consequently shipped
debugjava with CRLF line endings and without usable execute permission on
Linux. Changing only the Git mode would not survive that build path, while
changing only the line-ending policy would still leave the installed wrapper
non-executable.

Fixes #1662.

Tests

  • npm run tslint
  • npx tsc -p .
  • 33/33 extension tests
  • npx @vscode/vsce@latest package
  • inspected the packaged wrapper: -rwxr-xr-x, zero CR bytes, and bash -n
  • simulated core.autocrlf=true: the wrapper remained LF

The repository-pinned @vscode/test-electron 2.4.1 resolves the old macOS
binary name Electron, while the downloaded VS Code 1.131.0 bundle contains
Contents/MacOS/Code. I ran the same compiled extension suite through
runTests with that actual executable path; all 33 tests passed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

debugjava script is not executable and uses CRLF line endings on Linux

1 participant